package study.lambda;

import java.io.File;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) throws IOException {
        File f = new File("C:\\Windows");
        File[] fs1 = f.listFiles(); // 列出所有文件和子目录
        printFiles(fs1);
        File[] fs2 = f.listFiles((dir, name) -> name.endsWith(".exe"));

        // 仅列出.exe文件
        File[] fs3 = f.listFiles((dir, name) -> {
            return name.endsWith(".exe"); // 返回true表示接受该文件
        });
        printFiles(fs2);
    }

    static void printFiles(File[] files) {
        System.out.println("==========");
        if (files != null) {
            for (File f : files) {
                System.out.println(f);
            }
        }
        System.out.println("==========");
    }
}

interface FileNameFilter {
    boolean accept(File dir, String name);
}
